#字符串的切片操作
#字符串是不可变类型，1.不具备增删，该等操作 2.切片操作将产生新的对象
#比方说‘hello,python’这个字符串的索引从左到右为01234567891011；
#那么s[:5]意思就是从0一直切到索引为4不包含第五个元素 s[6:]意思是从索引为6地方开始切，切到最后一个位置，将得到一个新字符串#
#并且新的字符串是的索引重新从0开始
s='hello,Python'
s1=s[:5]         #如果不写起始位置，只写结束位置，那么会从0开始得到一个新字符串  ,并且截出的字符串不包括索引为5的
print(s1)
s2=s[6:]
print(s2)
s3='!'
newstr=s1+s3+s2    #字符串间的+号为连接符
print(newstr)
print(id(s),id(s1),id(s2),id(s3),id(newstr))
#完整写法是切片[start:end:step]，step是步长的意思，没有指定就默认为1
print(s[1:5:1])  #从1截到5看，不包括索引为5的
print(s[::2])
print(s[::-1])
#默认从字符串的最后一个元素开始，到字符串的第一个元素结束，因为步长为负数
#所以呢 索引为负也是可以的  会倒过来，  从右往左，依次为-1 -2 -3......
print(s[-6::1])  #从索引为-6开始，到字符串的最后一个元素结束，步长为1